'use strict';
/**
 * author：小小游 --- allen
 * date：2018.02.09
 * lastUpdateDate：2018.02.09
 * description：初认识ES6的模块化
 */
 /**
  * export：表示导出模块(可以是变量、函数、类等)
  * import：表示导入模块，可以对导入的变量名进行重命名
  * 如import { name as myName } from './02.模块化入门';
  * 下面先看一个例子，如下：
  */
/**
 * 有两种方式导入默认export default的函数等，如下：
 * // change就是export default的函数
 * 1.import change, { name as myName, User as MyUser } from './06.模块化入门';
 * 2.import { name as myName, default as change, User as MyUser } from './06.模块化入门';
 */
import change, { name as myName, User as MyUser } from './06.模块化入门';
// import { name as myName, default as change, User as MyUser } from './06.模块化入门';
/**
 * 注意这里用import导入的name只是一个指针，可以简单
 * 理解成是一个const常量，至少在这里是不可以修改的,
 * 如果在这里修改会抛出异常
 */
// error ---> 'name' is read-only
// name = 'allen';
// result：xiaoyuyu
console.log(myName);
// change就是export default导出的那个函数
console.log(change);
console.log(MyUser);
change ('allen');
var myUser = new MyUser('allen0904050123', 28);
myUser.getName('yucy');
myUser.getAge(99);
console.log(myUser['name'], myUser['age']);

setTimeout (t => console.log(myName), 2000);
